<?xml version="1.0" encoding="UTF-8"?>
	    
		<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns="http://www.w3.org/1999/xhtml">
	    <head>
        <link rel="stylesheet" type="text/css" href="Styles/spsfbranding.css"/>		
		    		<title>System Files</title>
		      <meta name="Microsoft.Help.Locale" content="en-us" />
      <meta name="Microsoft.Help.TopicLocale" content="en-us" />
      <meta name="Microsoft.Help.SelfBranded" content="true" />
      <meta name="Microsoft.Help.Id" content="SPSF_OVERVIEW_700_SYSTEMFILES" />
      <meta name="Microsoft.Help.TocParent" content="SPSF_OVERVIEW_INDEX" />      <meta name="Microsoft.Help.TocOrder" content="6" />
      <meta name="Microsoft.Help.Keywords" content="System Files" />
      <meta name="Microsoft.Help.Category" content="HelpFiles" />
      		<meta name="Description" content="" />
		<style type="text/css">

		.OH_TocResize
		{	
			top: 126px;
		}

		</style>
	</head>	
	<body class="primary-mtps-offline-document">
	  
		<div class="OH_topic">		 
    <table class="spsfbannertable" height="93" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td style="height:93px; background-image: url('ms.help?content/Consultants of Steria Mummert/store/HelpFiles.mshc;_img/header_background.jpg'); background-repeat: repeat-x;"><img src="./_img/header_left.jpg" /></td><td valign="right" style="height:93px; background-image: url('ms.help?content/Consultants of Steria Mummert/store/HelpFiles.mshc;_img/header_background.jpg'); background-repeat: repeat-x; text-align: right;"><img src="./_img/header_right.jpg" /></td></tr></table> 
		  <div class="OH_title">
			<table>
			  <tbody>
				<tr>
				  <td class="OH_tdTitleColumn">
					<div class="subHeading"><small>SharePoint Software Factory 2010</small></div><br />
					System Files
				  </td>
				  <td class="OH_tdLogoColumn">
				  				  </td>
				</tr>
			  </tbody>
			</table>
		  </div>
		</div>
		<div id="mainSection">
			<div id="mainBody">            
				<div class="introduction"><p></p></div>
				





        SPSF contains several system files which play an important role during development and deployment

        <h2>Files used during development</h2>

          <h3>SharePointConfiguration.xml</h3>
          The file 'SharePointConfiguration.xml' is located in folder "Solution Items".
          <br />
          The file contains several standard SharePoint element like ContentTypes, Features, ListTemplates etc.
          <br />
          These elements are used during execution of a SPSF recipe within the dialogs to fill selection boxes and lists with these SharePoint artefacts. 
          <br />
          This file should not be changed and will be replaced automatically during an upgrade of SPSF.

        <h2>Files used during build</h2>

          <h3>SharePointTargets.targets</h3>
          The file 'SharePointTargets.targets' is located in folder "Solution Items". 
          <br />
          There are 2 version of this file used, on version for projects based on the VS 2010 SharePoint template and one for project based on the so called HIVE template (organisation of files with 'SharePointRoot/..'. 
          The right version is used during creation of a new SharePoint project in VS 2010.
          <br />
          The file is referenced by all projects in the VS solution to run task during the build of a project. This tasks could be 
          <ul>
            <li>Generation of manifest.xml</li>            
            <li>Execution of code analysis tools</li>
            <li>Generation of WSP file</li>
            <li>Copy of generated WSP solution to project "ApplicationDeployment"</li>
          </ul>
          This file should not be changed and will be replaced automatically during an upgrade of SPSF.

        <h2>Files used during deployment</h2>
          SPSF solutions in Visual Studio always contain a project with name "ApplicationDeployment". This project is used for the deployment of the WSP packages. 
          <br />
          <h4>How it works:</h4>
          <ul>
            <li>After building a SPSF solution in Visual Studio a folder in directory "ApplicationDeployment/Output" is created (typically "Debug" or "Release"). This folder contains the final deployable package and is the output folder for the whole Visual Studio solutions.</li>
            <li>During the build of a SPSF project which creates a WSP as output this final WSP file is copied to the subfolder "Solutions" in this output folder.</li>
            <li>WSP solutions which are marked as Sandboxed Solutions are copied to the subfolder "SandboxedSolutions"</li>
            <li>The project "ApplicationDeployment" contains a folder "DeploymentFiles". This folder contains several batch files by default (e.g. StartDeploy.bat) to start the deployment process later. During a build of project "ApplicationDeployment" all contents of this folder are also copied to this final output folder.</li>
            <li>In folder MSBuild a custom msbuild task library is stored. This library is used during deployment to add solutions to the farm etc.</li>
          </ul>
          <h4>Configuration of the deployment process:</h4>
          The deployment process is defined in msbuild files. They describe the tasks and parameters which are used during the deployment of WSP files to SharePoint and which tasks must be executed before or after the deployment. The following files are used:
          
          <h3>Deployment.msbuild</h3>
         This msbuild file is the main entry of the deployment process and will be started if a batch file (e.g. StartDeploy.bat) is started. The file imports all other msbuild files (see following list).
         <br />
         The file contains the main targets "Deploy", "Undeploy", "Upgrade" and "Redeploy" and runs the WSP solution deployment steps
        <br /> 
         This file should not be changed and will be replaced automatically during an upgrade of SPSF.

          <h3>DeploymentTargets.msbuild</h3>
          This file contains entry points which can be used to execute tasks and code before and after a deployment. There are several targets defined, e.g. "BeforeDeploy", "AfterDeploy", "BeforeUpgrade" etc.
          <br /> 
          This targets are called from file "Deployment.msbuild" (see previous explanantion) and should not be deleted. They can contain for instance calls to powershell, stsadm, other batch files e.g. to activate features, create sites etc.
          <br /> 
          This file should CAN be changed and will NOT be replaced automatically during an upgrade of SPSF because it contains application specific information.
          
          <h3>ParametersDefault.msbuild</h3>
          This file contains the configuration values for the deployment process. Typically a custom SharePoint application is deployed on several SharePoint farms (e.g. in a staging environment). Each of these staging farms use different configuration values (e.g. URLs of web applications, URLs of sites, Account names).
          <br /> 
          To allow the deployment of the custom SharePoint application on all these farms the file 'ParametersDefault.msbuild' contains the configuration values for each environment. Samples are provided.
          <br /> 
          The following parameters are mainly used and influence the deployment process:
          <ul>
            <li>ForceSolutionDeployment: If this value is set to 'true' the WSP deployment will use the option "Force" for deployment (see stsadm -deploysolution for description)</li>
            <li>DeployToAllContentUrls: If this values is set to 'true' and the project contains a WSP solution which must be deployed globally then the WSP solution is deployed to all content urls.</li>
            <li>DeploymentSleep: This values defines how long in milliseconds the process should wait during the deployment steps</li>
            <li>DisplayWizards: If this values is set to 'true' and config parameters are missing during deployment then a dialog is displayed to request the value from the user. In automated stagings this value should always be false.</li>
            <li>DeployToWebApplications: This value defines to which web applications the WSP solutions should be deployed, e.g. "http://demo2010a;http://demo2010a:8081"</li>
            <li>DeploySandboxedSolutionsToSites: This values defines to which site collection the WSP sandboxed solutions should be deployed, e.g. "http://demo2010a/sites/site1;http://demo2010a/sites/site2"</li>
            <li>MinimalSharePointVersion: This values defines the minimal SharePoint version. The value is checked before the deployment to avoid the installation of the package on earlier versions of SharePoint (e.g. installation of SP 2010 applications on SP 2007).</li>
          </ul>
          This file should CAN be changed and will NOT be replaced automatically during an upgrade of SPSF because it contains application specific information.


          <h3>ParametersUserInput.msbuild</h3>
          As described the file 'ParametersDefault.msbuild' can contain the parameters for all known SharePoint environments. But if the environment for the deployment is unknown then the parameters cannot be provided in the deployment package. 
          <br /> 
          To allow the deployment of the custom SharePoint application on an unknown farm you can use the file 'ParametersUserInput.msbuild' to show dialogs to the user during installation. These dialogs request for instance the web applications for the WSP deployment, site collections for feature activation or requests username and password for impersonation.
          <br /> 
          This file should CAN be changed and will NOT be replaced automatically during an upgrade of SPSF because it contains application specific information.

    
				</div>			
			</div>
							<div class="OH_feedbacklink"><hr size="1" />SharePoint Software Factory 2010, Version 3.2, see <a href="ms.help?method=page&amp;id=SPSF_OVERVIEW_800_LICENSE&amp;topicversion=0&amp;topiclocale=&amp;SQM=1&amp;product=VS&amp;productVersion=100&amp;locale=EN-US">License</a> for more information</div>
				<br />
					</body>
</html>

